﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ED_Nivelacion.Datos;

namespace ED_Nivelacion.Negocios
{
    public class Coordinador_C
    {
        ED_NivelacionEntities _objEntity = new ED_NivelacionEntities();

        public List<Coordinacion> ObtenerCoordinador()
        {
            List<Coordinacion> ListaCoordinador = new List<Coordinacion>();
            try
            {
                foreach (var item in _objEntity.SP_ConsultarCoordinador())
                {
                    ListaCoordinador.Add(new Coordinacion { idCoordinador = item.idCoordinador, idPersona = item.idPersona, Nombre = item.Nombre, Apellido = item.Apellido, Cedula = item.Cedula });
                }

                return ListaCoordinador;
            }
            catch (Exception)
            {
                return ListaCoordinador;
            }
        }

        public List<Coordinador> ObtenerCoordinadorCombo()
        {
            List<Coordinador> ListaCoordinador = new List<Coordinador>();
            try
            {
                foreach (var item in _objEntity.SP_ConsultarCoordinador())
                {
                    var Nombres = item.Nombre + " " + item.Apellido;
                    ListaCoordinador.Add(new Coordinador { idCoordinador = item.idCoordinador, idPersona = item.idPersona, Nombres = Nombres, Cedula = item.Cedula });
                }

                return ListaCoordinador;
            }
            catch (Exception)
            {
                return ListaCoordinador;
            }
        }

        public List<Coordinacion> FiltrarCoordinador(int _idPersona)
        {
            List<Coordinacion> ListaCoordinador = new List<Coordinacion>();
            try
            {
                foreach (var item in _objEntity.SP_FiltrarCoordinadorPersona(_idPersona))
                {
                    ListaCoordinador.Add(new Coordinacion { idCoordinador = item.idCoordinador, idPersona = item.idPersona });
                }

                return ListaCoordinador;
            }
            catch(Exception) 
            {
                return ListaCoordinador;
            }
        }


        public List<Coordinacion> FiltrarCoordinadorActivo()
        {
            List<Coordinacion> ListaCoordinador = new List<Coordinacion>();

            foreach (var item in _objEntity.SP_ObtenerCoordinador())
            {
                ListaCoordinador.Add(new Coordinacion { idCoordinador = item.idCoordinador, idPersona = item.idPersona, Nombre = item.Nombre, Apellido = item.Apellido , Cedula = item.Cedula , Nombre_Periodo = item.Nombre_Periodo});
            }

            return ListaCoordinador;
        }

        public string AgregarCoordinador(Coordinacion _obj)
        {
            string msm = "OK";
            try
            {
                _objEntity.SP_InsertarCoordinador(_obj.idPersona);
            }
            catch (Exception)
            {

                msm = "Error al Ingresar";
            }

            return msm;

        }

        public string EditarCoordinador(Coordinacion _obj)
        {
            string msm = "OK";
            try
            {
                _objEntity.SP_ActualizarCoordinador(_obj.idCoordinador, _obj.idPersona);
            }
            catch (Exception)
            {

                msm = "Error al Actualizar";
            }

            return msm;
        }

        public string EliminarCoordinador(int _idCoordiador)
        {
            string msm = "OK";
            try
            {
                _objEntity.SP_EliminarCoordinador(_idCoordiador);
            }
            catch (Exception)
            {

                msm = "Error al Eliminar";
            }

            return msm;
        }

    }
}
